package com.itheima_05;

/*
    Lambda表达式的省略模式
 */
public class LambdaDemo {
    public static void main(String[] args) {
        //参数类型如果是多个，可以省略
        //但是有多个参数的省略下，不能只省略一个
        useAddable((x, y) -> {
            return x + y;
        });
        //如果参数有且只有一个，那么小括号可以省略
        useFlyable(s -> {
            System.out.println(s);
        });
        //如果代码块的语句只有一条，可以省略大括号和分号
        useFlyable(s -> System.out.println(s));
        //如果代码块的语句只有一条，可以省略大括号和分号,如果有return的话，也得省略return
        useAddable((x, y) -> x + y);
    }

    private static void useFlyable(Flyable f) {
        f.fly("风和日丽，晴空万里");
    }

    private static void useAddable(Addable a) {
        int sum = a.add(10, 20);
        System.out.println(sum);
    }
}
